#include<stdio.h>






int removeElement(int* nums, int numsSize, int val) {
//1：快慢指针
   /* int  fast = 0;  // nums[fast]==val 的值不保存在low上。
    int  low = 0;   // 这个指针保存fast 找到的不等于val 的值。
    while(fast<numsSize){
        if(nums[fast]!=val){
            nums[low] = nums[fast];
            low ++;
        }
        fast++;
    }
    return low;
    */
//2：对撞指针
   /* int left = 0;                       // 找到不等于val的值
    int right = numsSize - 1;           // 找到等于val 的值
    while(left<=right){
        if(nums[left]!=val){
            left++;
        }else if(val==nums[right]){
            right--;
        }else{
            nums[left] = nums [right];
            //left++;
            right--;
        }

    }
        return left;
        */
//3： 双指针，一指针固定在val ,另一指针找不是val;






 

}


int main(){
    int  nums[] = {2,3,5,5,5,6};
    int size = sizeof(nums)/sizeof(int);

    int count = removeElement(nums,size,5);

    printf("count = %d\n",count);
    

    return 0;
}